응집력
- 하나의 모듈 내부에서 얼마나 강한 관계를 가지는가
목표: 응집력 최대화
- 서로 강력하고 진정으로 연관된 모듈 만들기
- 관련있는 것들이 잘 모으는 것을 최대화
결합력과 응집력의 관계
- 시스템 분할의 평가 방법
- 응집력이 높아지는 것이 결합력이 낮추는 효과가 있을 수 있음
- 결합력이 높아진다고 응집력이 낮아지는 것은 아님
Scale of Cohesion

Functional Cohesion(=기능 응집력)
- 한가지 기능 = 한가지 문제만 해결
- 싱글 마인드 = 일편단심?
- 부가적인 활동 관여하지 않고 단 하나의 작업 완료
예시
- 코사인 값 계산
- 알파벳 신텍스 검증
- 특정 레코드 데이터 읽기
- 미사일 타격지점 계산
- 비행기 탑승 대기 좌석 배정
Sequential Cohesion(=순차 응집력)
- 하나의 활동으로부터 나오는 출력 데이터가 다음 입력 데이터로 제공
- 하나의 활동 = 하나의 상태 = 하나의 코드 블럭
Clean Car Body ; //세차
Fill In Holes In Car ; //구멍 채우기
Sand Car Body ; //사포질
Apply Primer ; //초벌
- 순차적
- 순차 응집력은 보통 좋은 결합력과 쉬운 유지보수를 가짐
해결: 기능 응집력이 더 좋기 때문에 가능하면 변환